/**
 * @Author       : oak-c
 * @Date         : 2021-01-21 14:09:10
 * @Description  :
 * @LastEditors  : oak-c
 * @LastEditTime : 2021-01-21 15:54:39
 * @FilePath     : /src/controller/global/global.dto.ts
 */
import { IsInt, IsNotEmpty, IsNumber, IsString, Length, Max, MaxLength, MinLength, ValidateIf } from 'class-validator'
import { PageDto } from '../index.dto'

export class QueryQuestionDto extends PageDto {
    @ValidateIf((o) => o.value)
    @MaxLength(128, { message: '请输入不超过128个字符！' })
    @MinLength(2, { message: '请最少输入2个字符！' })
    value: string
}
export class SubmitQuestionDto {
    @MaxLength(256, { message: '问题不能超过256个字！' })
    @MinLength(8, { message: '问题不能少于8个字！' })
    question: string

    @ValidateIf((o) => o.type)
    @Max(2, { message: '类型可选值有0默认1问题2建议' })
    @IsInt({ message: '类型可选值有0默认1问题2建议' })
    type: number

    @ValidateIf((o) => o.imgUrl)
    @MaxLength(2048, { message: '图片链接不能超过2048个字符！' })
    imgUrl: string
}
export class ReGeoDto {
    @IsNotEmpty({ message: '经纬度不能为空！' })
    lng: number
    @IsNotEmpty({ message: '经纬度不能为空！' })
    lat: number
}
export class SetConfigDto {
    @IsNotEmpty({ message: '键不能为空！' })
    key: string
    @IsNotEmpty({ message: '值不能为空！' })
    value: any
    @MaxLength(256, { message: '备注最多256字符！' })
    note: string
    @IsNotEmpty({ message: '类型不能为空！' })
    affiliationType: number
}
